 package eclipse;

import javax.media.opengl.jgloo.jglsh.*;

/**
 * This class contains all of the constants that either the Client or the Server use. 
 */
/*
 * Copyright (c) 2009, TOD Productimport eclipse.lib.*;ions All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
 *	- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
 *	- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
 *	-Neither the name of the organization nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 */
public class Constants
{	
	/** Separation character for 2.8 packets */
	public static final char SEP_CHAR 				= 31;
	/** Separation character for 2.8 packets */
	public static final char END_CHAR 				= 4;
	/** The String representing the specifics of the Engine's name and version. */
	public static final String ENGINE				= "{Powered by Eclipse MMORPGMaker 3.0}";
	/** A String representing the Client's compiler info. */
	public static final String CLIENTINFO			= "java";
	/** Sets the OpenGL object to draw the splash screen only. */
	public static final byte MENUSTATE_SPLASHSCREEN 	= 0x0;
	/** Sets the OpenGL object to draw the game */
	public static final byte MENUSTATE_INGAME 			= 0x1;
	/** Sets the OpenGL object to draw the char menu */
	public static final byte MENUSTATE_CHARSELECT		= 0x2;
	/** Sets the current form the Main Menu */
	public static final byte MENUSTATE_MAINMENU			= 0xA;
	/** Sets the current form the Login Menu */
	public static final byte MENUSTATE_LOGINMENU		= 0xB;
	/** Sets the current form the New Account Menu */
	public static final byte MENUSTATE_NEWACCOUNTMENU	= 0xC;	
	/** A not moving object */
	public static final byte MOVING_NOT					= 0x0;
	/** A moving object */
	public static final byte MOVING						= 0x1;
	/** An object moving left */
	public static final byte MOVING_LEFT				= 0x0;
	/** An object moving right */
	public static final byte MOVING_RIGHT				= 0x1;
	/** An object moving up */
	public static final byte MOVING_UP					= 0x2;
	/** An object moving down */
	public static final byte MOVING_DOWN				= 0x3;
	/** comCode: start of a comCode section */
	public static final byte com_START  = 			(byte)0x80;				
	/** comCode: ends a comCode section */
	public static final byte com_END	= 			(byte)0x7F;
	/** Vertex coordinates for a splash screen Object */
	public static final float SPLASHRECT[] 			= {-128f, 64f,-48f, 128f,64f,-48f, 128f,-64f,-48f, -128f,-64f,-48f};
	/** Vertex coordinates for a tile (32 * 32) */
	public static final float TILERECT[]			= { 0f, 0f, 0f, 32f, 0f, 0f, 32f, 32f, 0f, 0f, 32f, 0f};
	/** Vertex coordinates for text (16 * 16) */
	public static final float TEXTRECT[] 			= { 0f,  0f, 0f, 10f, 0f, 0f, 10f, 10f,0f, 0f,  10f,0f};
	/** Vertex coordinates for a screen filter Object */
	public static final float SCREENFILTER[] 		= {800f,600f, -640f};
	/** Color for splash (none)*/
	public static final JGLColor SPLASHFILTERCOLOR 	= new JGLColor(0f, 0f, 0f, 0f);
	/** No color (absolute black)*/
	public static final JGLColor NOFILTERCOLOR		= SPLASHFILTERCOLOR;
	/** Solid red color */
	public static final JGLColor REDFILTERCOLOR		= new JGLColor(1f, 1f, 0f, 0f);
	/** Solid white color */
	public static final JGLColor WHITEFILTERCOLOR	= new JGLColor(1f, 1f, 1f, 1f);	
	/** White Quad shader */
	public static final JGLQuadShader WHITEFILTER	= new JGLQuadShader(WHITEFILTERCOLOR);
	/** Red Quad shader */
	public static final JGLQuadShader REDFILTER		= new JGLQuadShader(REDFILTERCOLOR);
	/** Filter for splash screen */
	public static final JGLQuadShader SPLASHFILTER 	= new JGLQuadShader(SPLASHFILTERCOLOR);
	/** Size of a  8bit integer (byte) */
	public static final byte BYTESIZE				= 0x1;
	/** Size of a 16bit integer (char) */
	public static final byte CHARSIZE				= 0x2;
	/** Size of a 16bit integer (short) */
	public static final byte SHORTSIZE				= 0x2;
	/** Size of a 32bit integer (int) */ 
	public static final byte INTEGERSIZE			= 0x4;
	/** Size of a 32bit floating-point integer (float) */
	public static final byte FLOATSIZE				= 0x4;
	/** Size of a 64bit integer (long) */
	public static final byte LONGSIZE				= 0x8;
	/** Size of a 64bit floating-point integer (double) */
	public static final byte DOUBLESIZE				= 0x8;
	/** Size of a String */
	public static final byte STRINGSIZE				= 0xC;
	/** Object is looking upwards */
	public static final byte DIR_UP 				= 0x3;
	/** Object is looking downwards */
	public static final byte DIR_DOWN 				= 0x0;
	/** Object is looking left */
	public static final byte DIR_LEFT				= 0x1;
	/** Object is looking right */
	public static final byte DIR_RIGHT  			= 0x2;
}
